/**
 * 
 */
package de.mbenning.fsim.persistence.dao;

import java.util.List;

import org.hibernate.ObjectNotFoundException;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;

import de.mbenning.fsim.domain.Spieler;
import de.mbenning.fsim.persistence.dao.interfaces.ISpielerDAO;

/**
 * @author Martin.Benning
 *
 */
public class SpielerDAO extends HibernateDaoSupport implements ISpielerDAO {

	/* (non-Javadoc)
	 * @see de.mbenning.fsim.persistence.dao.interfaces.ISpielerDAO#getSpielerById(java.lang.Integer)
	 */
	public Spieler getSpielerById(Integer id) {
		for (final Object object : getHibernateTemplate().find(" FROM Spieler A WHERE A.id = ? ", new Integer[]{id})) {
            return (Spieler) object;
        }
        throw new ObjectNotFoundException("Spieler", Spieler.class.getName());
	}

	/* (non-Javadoc)
	 * @see de.mbenning.fsim.persistence.dao.interfaces.ISpielerDAO#getSpielerByName(java.lang.String, java.lang.String)
	 */
	public Spieler getSpielerByName(String name, String vorname) {
		for (final Object object : getHibernateTemplate().find(" FROM Spieler A WHERE A.name = ? AND A.vorname = ? ", new String[]{name, vorname})) {
            return (Spieler) object;
        }
        throw new ObjectNotFoundException("Spieler", Spieler.class.getName());
	}
	
	public List<Spieler> findAllSpieler() {
		return getHibernateTemplate().find(" FROM Spieler A ORDER BY A.name "); 
	}

}
